Text Replacement (Old method)
This old method is slower, but works more often. Try the new method
first.
Having replaced a font within the rom, most of the text using that
font will have been 'corrputed'. In other words, it will not make
sense as either Japanese or English. The following example shows
how to replace the text with your own messages.
Step 1: Guess at character values
This can be one of the hardest parts of the translation. You need
to work out what number corresponds to what character. Usually,
you can do this by looking at the area of the rom where the character
tiles are held. If you look back into the rom you should be able to
find where the tiles seem to start. In this example, the letter 'A'
was put at 0x056E6C (see 8x8 font section). By looking back into the
rom, you can see that the pattern of the font data (nn FF nn FF...)
starts at 0x056D6C (the first tile's data is highlighted).
|
|
Now, you know where the font tiles start, you can work out each tile's
offset in the tile data.
eg. for 'A' which is located at 0x056E6C,
the offset is 0x056E6C - 0x056D6C = 0x0100.
Seeing as each tile is 16 bytes long (8 bytes data, mixed with 8
bytes of 0xFF (2 bitplanes)), you can calculate the 'number' of
each character in the set.
eg. for 'A' offset=0x0100, tile size=0x010 (=16 bytes)
tile 'number' is 0x0100 / 0x010 = 0x010
So, character 'A' is tile 'number' 0x10 = 16
|
Step 2: Select a Message to Translate
|
Select a message within the text that has a fair number of converted
(English) characters in it. For example, the text 'EJY....' in the
menu to the left.
|
Step 3: Convert the Message to 'numbers'
Using the numbers found in step one, convert as much of the message as
you can into a sequence of bytes.
eg. 'EJY...' = 0x14, 0x19, 0x28...
('E'=0x14, 'J'=0x19, 'Y'=0x28)
|
Step 4: Find and Translate Message
|
Search the rom for the sequence bytes. When you find them, replace
them with a new sequence that will display a relevant message.
In this case, the message 'Message speed?' (use the tile 'numbers' found
in step one to compose the message). If you do not find the bytes,
you have either got the tile 'numbers' wrong in part one, or the
text is somehow encrypted or packed into the rom. Until I find a
program to search for 'relative' strings, you will have to try again!
|
|